草庐IT

c++ - std::string 的引用计数

全部标签

javascript - 为什么 escape、unescape 等函数不是 String 对象上的方法?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。字符串可以被视为可以保存和操作文本的最简单的对象,因此作用于字符串的函数不应该被归为方法。另一方面,javascript主要是一种网络编程语言,使用URI是该语言中字符串的常见用法;在这种情况下,像lastName.encodeURIComponent()这样的东西实际上会非常有用。为什么像encodeURIComponent和unescape这样的东西

Javascript 使用 `apply()` 传递参数数组,但保留 `this` 对 `call()` 的引用

我需要结合JavaScript的call()和apply()方法的强大功能。我遇到的问题是call()保留了对this的正确引用,但是当我需要它作为函数参数发送时,将我拥有的参数数组作为数组发送.apply()方法在使用数组时将参数发送到函数就好了,但我不知道如何向它发送对this的正确引用,call()方法好像天生就可以访问。下面是我所拥有的代码的简化版本,它可能看起来毫无用处,但它是表达要点的好方法://ANOBJECTTHATHOLDSSOMEFUNCTIONSvarmain={};main.the_number=15;main.some_function=function(ar

javascript - 早于 9 的 IE 版本引发错误 "Expected identifier, string or number”

这个knockout2.1绑定(bind)表达式在Firefox和IE9下工作正常,但在IE9兼容模式下崩溃并出现错误“Expectedidentifier,stringornumber”:我在调试器下找到了实际位置,就是这行代码(knockout-2.1.0.debug.js):returnnewFunction("sc",functionBody)functionBody是一个等于上述表达式的字符串。我尝试使用空格和回车符-没有任何帮助,结果相同:它可以在IE9兼容模式以外的任何浏览器上正常工作有什么建议吗? 最佳答案 我认为问

javascript - 如何强制 Angular 使用 jqlite 或手动引用 jquery 对象

我的Angular应用程序中存在不兼容的jQuery版本,我无法升级jQuery,但可以使用noConflict方法并排加载最新的jQuery版本,但我似乎找不到强制Angular的方法。js使用较新的jQuery版本。有没有这样的方法?流:…varnewjquery=jQuery.noConflict();//angularcode 最佳答案 来自thedocs:DoesAngularusethejQuerylibrary?Yes,AngularcanusejQueryifit'spresentinyourappwhentheap

javascript - NodeJS - Javascript 从 String 创建对象实例

在我的Node.Js应用程序(服务器端)中,我必须创建一个对象实例(这是一个类,所以使用newMyClass())但是MyClass是一个string.可以从字符串创建对象实例吗?我已经看到在浏览器端我可以使用window,但在这里我在服务器端...我将需要这个,因为我现在将在运行时类的名称,所以我不能在“代码”中实例化这个对象。此外,我可以有几个类需要以这种方式创建。简而言之,我有一个明确显示此类的配置文件,我需要将此字符串转换为真正的JavaScript对象。 最佳答案 在nodejs中,window被global“替换”了。因

javascript - 获取对父 IFRAME 的引用

假设我有一个文档对象的引用,它包含在一个IFRAME中。如何获得对容器IFRAME的引用?.parentNode和.ownerDocument都返回null。请注意,没有可用的上下文信息(例如,“window.xxx”之类的解决方案将不起作用)-所有可用的是对文档对象的引用。谢谢 最佳答案 文档不直接与其父文档相关联。您确实需要引用window为了拿起parent.DOMLevel2Views属性document.defaultView会给你window在大多数现代网络浏览器中,但在IE中,您必须使用非标准的document.par

javascript - 为什么这行得通? Javascript 中的对象引用

我终于很好奇了,想知道为什么javascript会施展它的巫毒魔法,以了解为什么并非所有对象引用都是平等创建的。举个例子:vara,b,c,d;a=100;b=a;c={};d=c;b=10;d.e='f';console.log(a,b);//outputs100,10console.log(c,d);//outputsobject=>e='f',object=>e='f'如果javascript中的所有变量都是对象,那么是什么使得c和d显式转换为Object的用例与将a和b定义为Number?或者,为什么c和d会相互链接,而不是a和b? 最佳答案

javascript - RegExp 和 String 组合导致 Chrome 崩溃

我有以下RegExp来验证电子邮件地址:^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$在基本电子邮件上运行它效果很好:/^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/.test('dave@the-taylors.org');但是在长字符串上运行它会使Chrome崩溃:/^[A-Za-z0-9](([_\.\

javascript - 我可以读取 :before {content :'...' } string via JavaScript (getComputedStyle), 但此字符串的行为很奇怪

我有以下设置。我创建了一个,通过伪选择器:before附加术语“before”并使用getComputedStyle读取该值.这行得通,我成功地得到了术语(在我的例子中是“before”),它是“string”类型的。(查看控制台输出。)该字符串与给定字符串的比较返回预期的true,但仅限于Safari,CodePen在这里,在“运行代码片段”-环境中!它不适用于Chrome、Firefox或IE。那里的匹配比较返回false.这可能是什么原因?为什么这个简单的字符串比较不起作用?三个相关的代码片段如下所示:varcontent=window.getComputedStyle(docu

javascript - 类型错误 : Cannot create property 'FOO' on string 'BAR'

我们应用程序中的错误(现已修复)代码触发了此错误:TypeError:Cannotcreateproperty'FOO'onstring'BAR'但是Javascript完全允许在字符串变量上设置自由属性。我刚刚在Chrome控制台中尝试过:'BAR'.FOO='hello''BAR'['FOO']='hello'而且效果很好。那么JS解释器在什么情况下会触发这个错误?原始代码是用Typescript编写的,然后用Babel转译。这是一个运行时错误。我认为这与typescript无关,因为其他人报告了类似的运行时错误,例如。here和here 最佳答案